changed init structure