making dependencies optional