https://www.somethingsblog.com/2024/10/19/go-structs-and-interfaces-a-comprehensive-guide/