implemented dependency checking