functions,require nd more