added communcation protocol