warning and order correctly
allow you to set cache when instanting, call self.get_previous_entry
needs entry
bring this into the modern age
reorgranize