existing functional interfaces
add streams