add guard and spec layout
factor in basic cohort support