Add existing source code and a demo