returns 0 if passed an empty string