adds basic CRUD functionality