Reimplemented ccollect
Added clPtr
Updated clPtr
Switched to ref-counted smartpointers, collect rewritten using std::vector