pulled out json mapping into its own class. checked for invalid file names
changed the way services are loaded/saved. removed unneeded load op