finish funcs, working on undo feature