dynamically add pieces, max 50