backed by option-tree

closes #9