modify some part when code review discuss