Many German verbs don't take a direct object on their own — they need a fixed preposition linking them to what follows, and that preposition isn't optional or guessable from meaning. It's simply part of the verb, the same way certain verbs always come with a fixed separable prefix. The verb warten ("to wait") is never used alone before a noun; it's always warten auf. The verb sich freuen ("to be glad") needs auf or über depending on the precise meaning intended.
The core challenge is that the German preposition rarely matches the one used for the equivalent verb in another language you know. You might say "wait for the bus," but German insists on auf: warten auf den Bus. You might say "think of," but German uses an: denken an dich, not in. Word-for-word translation is a real trap, and the only fix is to treat each verb together with its preposition as a single unit memorized from day one — the same way you memorize a new noun together with its article der, die, or das.
A second key point: the preposition after these verbs forces a specific case, Akkusativ or Dativ, regardless of what that preposition does elsewhere. For example, an, auf, in, and über always take Akkusativ here, even though in ordinary spatial use they might take Dativ depending on the question wo or wohin. Memorize the full trio together: verb, preposition, case.
To refer back to a thing rather than repeating the noun, don't say auf es — use a form starting with da- or dar- (before a vowel), like darauf, daran: Wartest du auf den Bus? — Ja, ich warte darauf. For a person, keep the ordinary preposition plus pronoun: Ich warte auf ihn.
One verb deserves special attention: sich freuen splits into two meanings depending on the preposition. sich freuen auf means looking forward to something that hasn't happened yet, like a vacation; sich freuen über means being happy about something that already happened, like a gift just received.
The most frequent mistake is translating the preposition directly from another language instead of memorizing the German pair as it is, producing errors like warten für instead of warten auf. The remedy is repetition and cumulative memorization, not deriving the preposition logically from meaning.