Here's a tcl program from a class project by Mark Bynum