Class structure draft version