Added user roles, methods, and tests