add keybind
remove zipper
more abstraction
add new structure