make dependencies optional