restructured code and added improved line spacing
another restructure to pass pointers instead of copying into arrays. Downside is that the backed strings are no longer const, so code `could` modify the internal strings and really screw stuff up. Despite that, this has advantages, one of which will be direct pointer equality for string equality