up to date demo code