atomized Element model into a base class with subclasses for specific types