first pass on composable CPs
wip; hackin @twokul @hjdivad