https://thiti.dev/blog/5556
Structure c/c