push toward generalized crud