moves
logic