refactor a little bit

add async callback support
bump version to 0.0.3