refactored to string