added dependencies
added more operators to protocol, added comments