separator functions can return streams