http://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.145.4773&rep=rep1&type=pdf