rewrite iduri and add tests cases