require conditionally