Fixing the canMove logic. Needs to be cleaned up though