Implemented roles, misc. things.