adds in base for undo functionality