chuck the task-oriented method and just do it by hand for now
better stream closing