Making something actually function fixes a lot of bugs. Basic test case now exists