refactored a few parts, removed string interpolation