some improvement to first version
first version: 0.1.0