first pass - get crud working