#2 refactoring last change