working on valid moves