implement interactiveperc; rename to demoperc