Renamed APiece.java to Piece, I feel abstract classes shouldnt be prefixed with A, it gets ugly when referring the the class