widget integration