rewrite asc & test version