Implemented xoft's suggestions

I totally didn't copy this from the fire simulator...

(I did, but I changed it quite a bit :P)