use gradle build system
Make Undo more flexible