http://dx.doi.org/10.1007/s13539-010-0016-0