Implements all basic CRUD functions