Implemented in-place new piece generation