How does dependency checking work?