optional dependencies should be loaded in a try-catch so they are actually optional