make the demo page generic