add integration tests. passed