demo code upate