refactor for lager 2.x