added equation solver