extract demo framework