add new effects and some mem optimizations from viegener