implemented demo2