finish jigsaw implementation