initial version sort of, I've probably overlooked something needed for an actual run