refactor for resolusion part 1