adding support for create/drop/show roles, interface refactoring