U2 refactored