optimised the use of Protocol Buffer to avoid creating unnecessary byte[] for each message which seems to make things much faster