String refactor complete