I slightly refactored the element modules.