working on protocol control