refactor to #1 1.2 , v0.2