improve String constructor