updated with some reflections