implement panning
refactor to split up core.cljs
attempting to implement saving