wip: almost compiling