refactor 1.7
cannot figure out k process