base framework structure