General refactoring - part IV