extracted class Point;
added abstract class Piece;
cleaned lots of unnecessary things