rewrite base on @sokra's comments on pull#13