added basic role functionality