add test code
fix bug