added CRUD code from SA03