rework the demo