basic move validations implemented