cleaning up syntax and using proper streaming for all methods