factoring the demos into pieces