drop lazy singlton
Merge branch 'newfunc'