main framework updated