Not working well, but I've made some progress. Figured I should make a commit.