Software based

Software basedSoftware basedSoftware basedSoftware basedSoftware basedSoftware basedSoftware basedSoftware basedSoftware basedSoftware basedSoftware basedSoftware basedSoftware basedSoftware basedSoftware basedSoftware basedSoftware basedSoftware basedSoftware basedSoftware basedSoftware basedSoftware basedSoftware basedSoftware basedSoftware basedSoftware basedSoftware basedSoftware basedSoftware basedSoftware basedSoftware basedSoftware basedSoftware basedSoftware basedSoftware basedSoftware basedSoftware basedSoftware basedSoftware basedSoftware basedSoftware basedSoftware basedSoftware basedSoftware basedSoftware based