describe what optional dependencies are