circular require
This reverts commit c2a9c35024. It cannot stop `circular require` warning.
c2a9c35024