lenses refactoring