rebuild interface to XUser