made lots of changes redo and undo almost ready