Added a new abstract function (getPieceAt())