add test
fix bug