better text handling