Added a role method
Refactored to avoid duplication
Implemented the most degenerative test case scenario for the score method