There is a very good answer to that question involving Eureka here. I think this is what you are looking for.