http://www.mssanz.org.au/modsim09/I3/barua.pdf