added file specs, updated parser_specs, rethought key_generation