java WIP
closer to mimicking the ruby version of hierarchical ataviser