demo framework first attempt