just before everything is handled by reflection