Refactored findPossibleMoves and other stuff too