not quite working, but very close to functional prototype