add icfp changes/additions