Model: added movement with validation