improve test coverage

I have write some tests!