code reshuffle while considering options