added a demo mode