add requires explain