consider breaking processing of element's into their own methods