pars and initialize Coded but not tested