http://www.dotnetperls.com/struct