I tried writing this as an answer, but because one has already been selected as the best answer, the website won't allow any more answers. All I can do is post this as a comment (I suppose the same happened to Evandro). I say this because as comments allow no formatting, this might seem too "chunky" (I can't built paragraphs, it's all in one go), so I'd ask you to please bear with me. "Não" refers to "not" in your sentence ("I have *NOT* seen a good movie"). So, the answer to your second question (can I remove it without changing the meaning?) is most decidedly "no". If you take "não" (not) away, you are left with "I've been seeing a good movie for a while now". Now, to answer your first question, the reason why it looks weird to you is because Portuguese, being a Latin language, has a slightly different way to build sentences compared to the way English (being a Germanic language) does. This would be easier if I could have line breaks, but let's see if I can make this clear: "Faz tempo" means "it's been a while"; "que não vejo" literally means "that I don't see" (rendered more naturally in English as "that I haven't seen"); and "um bom filme" means "a good movie". So in Portuguese the sentence translates literally as "it's been a while that I do NOT see a good movie". I.e., "não" refers to "not" in this English sentence. Take it away and what do you get? "It's been a while that I see a good movie". Its function (of "not", I mean) is to negate the sentence, pretty much the same way it happens in English. So no, you couldn't remove it without changing the meaning of the sentence. I hope that makes sense.