more base framework