I'd recommend a external canister filter. The Rena Xp line is quite good, i've used them in my smaller tanks, and i use Eheim Professional in my larger tank.
I used to have a undergravel filter in my very first tank - i thought it worked well, the water seemed clean enough, however when i had...