first draft
Merge https://github.com/bluelg/ccode