client compiling - untested