Works now, lots of fixes, can compile