rearragned some structs that caused alignment problems in Go1.1. see #15