really don't base cycle on chain