re-structure and add data type description