changed adding functionality for different roles
resolve conflict