add more operators
Merge remote-tracking branch 'origin/master'
refactor operator pattern; fixed $impl_var bug