added CapPCF type system