cont refactoring [ci skip]