added refactored section and unfinished reflection