Add demo; initial functionality