use stream
coding