Can't decide which is better for string type, char or byte pointer. Changing to char removes a few casts. Really need to do proper unicode.