implement reflections