Refactored to pull out ABI-specific settings