traditional software products