adds demo functionality