added persistent undo
added ui configuration