This has been unshared and unfinished since august of 2018, I thought I should finish the code for what was there and share it.