reorganize offset and Piece construction