incremental init impl, need debug