Thanks a lot for the replies & links!

I'll try to finish Simon's diff (and probably ask silly questions if I get stuck ;)

Cheers,
Michal