some widgets and  framwork