improved compiling