added linear additive method