Added support classes and exceptions for CRUD operations