basic data structure which I believe (suspect?) is correct for GDL