why is ostruct included?