99% buggy, but compiling