complete the basic crud