experimental version used in SIGMOD 2010