decouple offset from cadence