add tests, use duo