http://homepages.inf.ed.ac.uk/tkomura/cav/