http://citec.mine.nu/~asylum/download/c#4cdev.pdf