Draft, needs polishing

review by @szeiger 

Please already review this. I keep polishing it as we go a long.