option to undo moves
minor tweaks and bug fixes
Added more functions