split out get and put functions to their own files