compiles, but weird segfault