local CRUD