started on stream refactoring; thinking about how to handling waiting for an open circuit