some recursive attribute/object examination functionality
moving tests around. creating new tests.