fixed the order of initialization (The order of old version is diffrent from that of the definition).