free string(I am not sure whether it is needed or not)
refactor:extract function