add basic element interface.
Merge pull request #4 from RobertWHurst/feature/element

add basic element interface.