continued widget modularization