Add a bunch more fields and proper alignment checking.