p0-u2-w6 refactoring with reflection