added precompile stuff