add tests and dispose