Framework restructure