add identical checking
add new test