CRUD on product; mainly backend