tentatively finished full demo