43-48 refactored