added hasRequires