integration tests first