complate the demo