code structure
basic properties