#332 endless refactoring