add role functions and selectors