new framework structure