support stream and others