implement save dan update