feat: add cfp