demo code small reorganization