xdemo framework