added demo
added demo
added tests