Documentation and some unit test