xutil added and interface implement