Added basic functions and a crude demo