General refactoring - part III