docs: def to_string(self):
          """
          stringifies version
          :return: string of version
          """
          if self.major == -1:
              major_str = 'x'
          else:
              major_str = self.major
          if self.minor == -1:
              minor_str = 'x'
          else:
              minor_str = self.minor
          if self.patch == -1:
              patch_str = 'x'
          else:
              patch_str = self.patch
          return '{0}_{1}_{2}'.format(major_str, minor_str, patch_str)