working initialize