do we need all these checks… who is extending the object prototype?