Implement fieldset widget and make some improvments