making the internal type property a private looking property to prevent a conflict with a specification of type in the context object
creating a better data structure of the elements array. its a movement towards query library agnostic approach