demo code and examples