refactored to remove string interpolation