added linear sum