abstract framework