reflections not working but fixed recursion