require before use