strings refactored