Still need to figure out semantics for cin and cout, but everything else seems to be working