add tests and update dependencies