imperfect but much cleaner viewer hierarchy working (for test data)