add reusable sub process demo code