updated cache hooks ( cache_functions purposely excluded from merge )