Merge branch 'temp1'
change interface & base class
update base class
v 0.2.0
Merge branch 'temp1'