looks like all tests pass on the effects branch. time to merge. and then add REAL effects code.