@classmethod
def fetch(cls, obj, keys):
    """
        fetches the value corresponding to keys from obj
        """
    current = obj
    for key in keys.split('.'):
        if type(current) == list:
            try:
                key = int(key)
            except TypeError:
                raise cls.Missing(key)
        try:
            current = current[key]
        except (IndexError, KeyError, TypeError) as ex:
            raise cls.Missing(key)
    return current
