initial commit... note this is communication layer only library not to be used indipendatly