dependency is optional.