refactored let