compiles again, some progress