There's a FAQ entry on this topic here. Also, if you're into digging through source code, a lot could be gleaned from an examination of the code to these.
_________________________
Tony Fabris