use same functions for roles