calling require explained