added addEffects() method.

A bunch of new untested code that almost definitely doesn't work