Put input parsing in Move and refactor move validation