some refactoring
0.1.2