modify interfaces, add some fix-funcions