My own version of the java string along with several utility functions