separate some structs