implement equals(), hashcode() & means to determine if a module depends on another