made component typeable
added exists method to element