refactored U2 solutions