monkey-patched to work with fieldsets + encapsulation