fix widget system