auto require