1.5.1: refactoring