implemented widget feature