refactor Role's constructor.