redoing the structure