fn3
refactoring