add flip logic