some refactoring
check if stream online upon add