added widgets factory