demo code complete