created element interface and base element class