http://elinux.org/images/8/83/Elc2011_semwal.pdf