initial commit with json extractor hand tested
all tests passing