master
Refactoring protocols of semantics