v0.1; caminoix; 01.07.2006
v0.2; caminoix; 10.07.2006
v0.3; caminoix; 27.08.2006
download source | binary
i have learned this method from robot frog. they have a very nice tutorial there, and i don't think it would make sense if i just reproduced it here. my implementation is pretty much the same, just rewritten in nemerle.