adding fallback to xframe cache or silently initialise it anyway. altering a bit methods to work for both - sigh