Refactor of method create_move so that it can be extended more easily.
Bug fixes