better string handling