Refactored a lot of roles