require structure