REFACTORIZED: move moves validation to model