refactor lessen 3