modify some interfaces and names