* WHy return char * and not const char *?
* Why are we changing the signature of the function?  It could cause other code to change behaviour (unlikely, but possible)