completed base framework