Works fairly well now as quick demo, added extra documentation and notes