added a demo and the core library