some refactoring
v0.2.0b