Typical data structure (complete code)