improve iduri and add tests cases