implemented new widget functionality