Compiles, though probably breaks