mostly finished mapping out the whole flow, lots of TODOs now