started implementing initialization