fix require singleton