So it turns out that my code wasn't as good as I thought it would be. I thought it was exactly how it was suppossed to be. Well I guess I didn't need to make as many role attributes, as well as I could have put in a but more structure. I didn't really know what to put in so I did my best. I am proud of it nevertheless.