generating pieces in saner way, capturing pieces mostly implemented
generating pieces in saner way, capturing pieces mostly implemented