First stab at rewrite, lots of TODOs left
First stab at rewrite, lots of TODOs left

pyinvoke/invoke,mkusz/invoke,pfmoore/invoke,singingwolfboy/invoke,tyewang/invoke,kejbaly2/invoke,pfmoore/invoke,kejbaly2/invoke,pyinvoke/invoke,mattrobenolt/invoke,frol/invoke,frol/invoke,sophacles/invoke,mkusz/invoke,mattrobenolt/invoke