demo functions moved to a file of their own