Added custom types and nearing completion on the transport layer. Compilation errors so please don't download the code