Actually compiling (but still non-functional) version