precompile hook