add new demo 3 code