adding requirement check