implement all exps
Merge branch 'dev'