refactored 43