generalize confirmation dialog
update todo
cleanup