implementing roleFunctions