added new model class `UserRoles.pm` as lookup table, issue: #2