WIP: compiles on gcc