remove redundant methods, implement assignment operator for widget