Added binary protocol
Added template instantiation for serialization