added a simple widgeting system