added static classes for handling groups and users and some exceptions for error handling