refactors and little changes to agents before implementation of
protocols