restructured into section by datatype