Demo.
Some more groundwork