d
tweaks
factor out tree methods as underscore mixin