wooooooooooorking except EOF