add tests and edit document