some progress on create and edit