fixed non-virtual function calling with structs