made so langobject can take a typeobject as a parameter