cleaned up, added undo which sorta works