partially converted to SSA