compiles but still has errors