why use a framework updated