Add unittest, bug fix.