weighted linear combination replaces 'add' function