save today work. rm vf. refact to divide outputstream and write method