more flexible dependency