check for dependencies first.