added well named exception. small refactors to improve code readability
Move and move validation process implemented (need to implement Tests to ensure conformity)