all ready, dunno whether compiles
compiles but segfault