crud refactor begins