refactoring for Roles system
Improvements