add three initialization code