minor modification. update some interfaces