compiling but broken