adds demo, nicephore returns self