hopefully working precompilation