Validate positions before moving and raise the corresponding error. Add documentation, black and pylint.