basic location CRUD