works?
First
refactored to Reflection
merged andy's branch