Added (untested) code for all base widgets