partially working final demo for m2