hard dependency