change structs to be public