add two structs for call graph and function use