abolish the optional require