rewrite test and passed