Coco compiler

closes #196