I added a basic initial commit with some working code and a test case. What do you think about the direction? @parro-it @dthree