add new effect and fix several bugs