working on messaging protocol