more plugin. add undo
move things around
fix bug