introduce Positon and ChessUtil