added widgets functionality