move responsibility of converting position to move, and some test refactoring