Move private data types to separate headers
Un-private p-pointers
Fix block tests