reworked some structures