removed element stuff because it needs to be reworked and rewritten. blah