Implement new Piece interface