refactors and Role ABM design (not binded yet)