initialization order corrected