Refactor into roles