heavily inspired by my p8 cycles assembly