Added a working demo. Still needs more components.