finish chain comparator && update unit test