Simplified usage of define-elem and do-elem.
Added missing a attrs.
Moved stuff.