checkpoint during relatively big refactor
another checkpoint in refactor