Improved by Caleb1994 of osdev.org.