implemented dependencies system