Add all the new roles.

Please take a look. There are probably some edge cases that I've missed.