long overdue update - lots of refactoring, D3 visualizatio added.