implement semigroup instead of monaid for Dependencyies