shumkov refactor