refactor roles to define shared methods on role
syntax