finish all the interfaces; considering add update and delete part