james | extracting safe_build into its own