modify demo: add code viewer