This fixes the issue of inability to add multiple roles

added a test, I couldn't find a beautiful way of adding this, but seen you can accidentally populate roles, even in your application and re-use the object, this seemed like the most elegant solution.