initial refactoring with simple roles