build the backbone of the demo