before refactor for string