precompilation order: consider require