Initial commit of source and demo