initial dist subtree commit
completed code, functional