adding roles and permissions feature