use routing, structs