framework is done partly