make extensions optional requires