overall improvements, must choose string now