Cleaned up canMove return logic