software inventor