:initialization and structure