rewrite for release 1.0.1