U2A3 refactoring