use builder to invoke pre-compilation