The software uses two primary methods that complement each other: