add my test, more care for leak, remove unnecessary requires.