[confirm] - Random glitches in LiveTV ("Unexpected LiveTV PAT change" log)

Discussion in 'MediaPortal 1.1.0 RC 1 & 2' started by peque, April 19, 2010.

  1. peque
    • Premium Supporter

    peque Moderator - Spanish Forums

    Joined:
    August 4, 2007
    Messages:
    853
    Likes Received:
    88
    Ratings:
    +111 / 1
    Home Country:
    Spain Spain
    Show System Specs
    MediaPortal Version: 1.1.0. RC2
    MediaPortal Skin: StreamedMP
    Windows Version: Vista 32bit
    CPU Type: Core 2 Duo 6550
    HDD: 2xWD Caviar Green 1 Tb.
    Memory: 2 Gb
    Motherboard: P5Q SE PLUS
    Video Card: Nvidia GT240
    Video Card Driver: 195.xx
    Sound Card: Integrated
    Sound Card AC3:
    Sound Card Driver: last available
    1. TV Card: Hauppauge HVR4000
    1. TV Card Type: Hybrid analog/dvbt/dvbs/dvbs2
    1. TV Card Driver: last available
    2. TV Card: Kworld DVBT-PE310 (Dual)
    2. TV Card Type: Dual DVB-t
    2. TV Card Driver: last available
    MPEG2 Video Codec: Cyberlink MPEG2 (PowerDVD9), standalone file .ax
    MPEG2 Audio Codec: Ffdshow Tryouts Beta6
    h.264 Video Codec: Cyberlink H264 (PowerDVD8)
    Satelite/CableTV Provider:
    HTPC Case:
    Cooling:
    Power Supply:
    Remote:
    TV:
    TV - HTPC Connection:

    Hi,

    I'm experiencing little random stutters watching some DVB-t channels. It happens randomly, but it seems to depend on what channel I'm watching. In worst case, I've got little glitch every few minutes. When this happens, I can see this on my tsreader.log:

    Code (Text):
    1. 19-04-2010 09:17:16.662 [1304]OnNewChannel pat version:1->2
    2. 19-04-2010 09:17:16.662 [1304]Unexpected LiveTV PAT change due to provider, update m_ReqPatVersion to new PAT version : 1
    3. 19-04-2010 09:17:16.662 [1304]demux:flushing
    4. 19-04-2010 09:17:16.662 [1304]demux:set hold audio:1
    5. 19-04-2010 09:17:16.662 [1304]demux:set hold video:1
    6. 19-04-2010 09:17:16.663 [1304]demux:set hold subtitle:1
    7. 19-04-2010 09:17:16.663 [1304]demux:flush audio
    8. 19-04-2010 09:17:16.663 [1304]demux:flush video
    9. 19-04-2010 09:17:16.663 [1304]demux:flush subtitle
    10. 19-04-2010 09:17:16.663 [1304]demux:set hold audio:0
    11. 19-04-2010 09:17:16.663 [1304]demux:set hold video:0
    12. 19-04-2010 09:17:16.663 [1304]demux:set hold subtitle:0
    13. 19-04-2010 09:17:16.664 [1304]New channel found (PAT/PMT/SDT changed)
    14. 19-04-2010 09:17:16.664 [1304] pcr      pid:   30
    15. 19-04-2010 09:17:16.664 [1304] pmt      pid:   20
    16. 19-04-2010 09:17:16.664 [1304] video    pid:   30 type: MPEG2
    17. 19-04-2010 09:17:16.664 [1304] audio    pid:   40 language: spa type: MPEG2 - audio
    18. 19-04-2010 09:17:16.664 [1304] audio    pid:   41 language: mul type: MPEG2 - audio
    19. 19-04-2010 09:17:16.665 [1304]Setting initial audio index to : 0
    20. 19-04-2010 09:17:16.665 [1304]OnRequestAudioChange()
    21. 19-04-2010 09:17:16.665 [1304]demux:Wait for Audio stream selection :1
    22. 19-04-2010 09:17:16.665 [1304]New Audio 4
    23. 19-04-2010 09:17:16.687 [147c]SetAudioStream : 0
    24. 19-04-2010 09:17:16.687 [147c]Old Audio 4, New Audio 4
    25. 19-04-2010 09:17:16.687 [147c]demux:Wait for Audio stream selection :0
    26. 19-04-2010 09:17:16.831 [1304]  MPEG I-FRAME found 341.848000
    27. 19-04-2010 09:17:16.831 [1304]Demux : Video to render 1.614 Sec
    28. 19-04-2010 09:17:16.836 [5b4]vid:set discontinuity
    29. 19-04-2010 09:17:16.861 [1304]  MPEG First '0' frame found. 341.768000
    30. 19-04-2010 09:17:16.861 [1304]Demux : Video to render 1.502 Sec
    31. 19-04-2010 09:17:16.912 [1304]Demux : Audio to render 1.028 Sec
    32. 19-04-2010 09:17:16.927 [1304]aud:set discontinuity
    33. 19-04-2010 09:17:17.101 [1304]Demux : Audio to render 1.007 Sec
    No Tswriter equivalent log. I also can see this on MediaPortal.log in glitch time:



    Code (Text):
    1. 2010-04-19 09:17:16.683807 [Info.][MPMain(1)]: TSReaderPlayer:OnRequestAudioChange()
    2. 2010-04-19 09:17:16.683807 [Debug][MPMain(1)]: TVHome.OnAudioTracksReady()
    3. 2010-04-19 09:17:16.683807 [Debug][MPMain(1)]: TVHome.GetPreferedAudioStreamIndex(): preferred LANG(s):spa preferAC3:True preferAudioTypeOverLang:True
    4. 2010-04-19 09:17:16.683807 [Debug][MPMain(1)]: Audio streams avail: 2
    5. 2010-04-19 09:17:16.684807 [Info.][MPMain(1)]: TsReaderPlayer: GetAudioDualMonoMode mode=0 succeeded
    6. 2010-04-19 09:17:16.685807 [Info.][MPMain(1)]: TsReaderPlayer: GetAudioDualMonoMode mode=0 succeeded
    7. 2010-04-19 09:17:16.685807 [Debug][MPMain(1)]: Stream 0 lang spa, lang priority index 0
    8. 2010-04-19 09:17:16.685807 [Debug][MPMain(1)]: Setting mpeg pref
    9. 2010-04-19 09:17:16.686807 [Info.][MPMain(1)]: TsReaderPlayer: GetAudioDualMonoMode mode=0 succeeded
    10. 2010-04-19 09:17:16.686807 [Debug][MPMain(1)]: Stream 1 lang mul, lang priority index -1
    11. 2010-04-19 09:17:16.687807 [Info.][MPMain(1)]: Audio stream: no preferred AC3 audio stream found, trying mpeg instead.
    12. 2010-04-19 09:17:16.687807 [Info.][MPMain(1)]: Audio stream: switching to preferred MPEG audio stream 0, based on LANG spa
    13. 2010-04-19 09:17:16.688807 [Info.][MPMain(1)]: TsReaderPlayer: GetAudioDualMonoMode mode=0 succeeded
    14. 2010-04-19 09:17:16.689807 [Info.][MPMain(1)]: TsReaderPlayer: SetAudioDualMonoMode mode=STEREO succeeded
    Also tv.log related to this glitch:

    Code (Text):
    1. 2010-04-19 09:17:16.214807 [(12)]: subch:0 OnPMTReceived() pmt:67 ran:True dynamic:True
    2. 2010-04-19 09:17:16.215807 [(12)]: subch:0 SendPmt:B4 B4 13 14
    3. 2010-04-19 09:17:16.215807 [(12)]: Decode pmt
    4. 2010-04-19 09:17:16.215807 [(12)]: Set descriptor data with length 3
    5. 2010-04-19 09:17:16.216807 [(12)]: Set descriptor data with length 3
    6. 2010-04-19 09:17:16.216807 [(12)]: PROBLEM : descriptor lengths dont match 6 9
    7. 2010-04-19 09:17:16.217807 [(12)]: Set descriptor data with length 3
    8. 2010-04-19 09:17:16.217807 [(12)]: PROBLEM : descriptor lengths dont match 6 9
    9. 2010-04-19 09:17:16.217807 [(12)]: Set descriptor data with length 3
    10. 2010-04-19 09:17:16.218807 [(12)]: PROBLEM : descriptor lengths dont match 12 15
    11. 2010-04-19 09:17:16.218807 [(12)]: Set descriptor data with length 3
    12. 2010-04-19 09:17:16.218807 [(12)]: Set descriptor data with length 3
    13. 2010-04-19 09:17:16.219807 [(12)]: subch:0 SendPMT: Channel is FTA, nothing to do.
    14. 2010-04-19 09:17:16.219807 [(12)]: subch:0 SetMpegPidMapping
    15. 2010-04-19 09:17:16.220807 [(12)]: subch:0  pid:CB pcr
    16. 2010-04-19 09:17:16.220807 [(12)]: subch:0  pid:67 pmt
    17. 2010-04-19 09:17:16.220807 [(12)]: subch:0  pid:CB video type:MPEG-2
    18. 2010-04-19 09:17:16.221807 [(12)]: subch:0    map pid:CB video type:MPEG-2
    19. 2010-04-19 09:17:16.222807 [(12)]: subch:0  pid:12F audio lang: type:MPEG-1
    20. 2010-04-19 09:17:16.222807 [(12)]: subch:0    map pid:12F audio lang: type:MPEG-1
    21. 2010-04-19 09:17:16.223807 [(12)]: subch:0  pid:132 audio lang: type:MPEG-1
    22. 2010-04-19 09:17:16.223807 [(12)]: subch:0  pid:2BF teletext type:6
    23. 2010-04-19 09:17:16.224807 [(12)]: subch:0    map pid:2BF teletext type:6
    24. 2010-04-19 09:17:16.224807 [(12)]: subch:0  pid:8FE type:5
    25. 2010-04-19 09:17:16.225807 [(12)]: subch:0  pid:8FF type:B
    26. 2010-04-19 09:17:16.225807 [(12)]: subch:0  pid:900 type:5
    27. 2010-04-19 09:17:16.226807 [(12)]: subch:0  pid:901 type:B
    28. 2010-04-19 09:17:16.226807 [(12)]: subch:0  pid:902 type:5
    29. 2010-04-19 09:17:16.227807 [(12)]: subch:0  pid:908 type:5
    30. 2010-04-19 09:17:16.227807 [(12)]: subch:0  pid:912 type:5
    31. 2010-04-19 09:17:16.228807 [(12)]: subch:0  pid:91C type:5
    32. 2010-04-19 09:17:16.228807 [(12)]: Number of HWPIDS that needs to be sent to tuner :10
    33. 2010-04-19 09:17:16.360807 [(12)]: PID seen - type = Audio
    34. 2010-04-19 09:17:16.360807 [(12)]: audioVideoEventHandler Audio
    35. 2010-04-19 09:17:16.361807 [(12)]: PID seen - type = Audio
    36. 2010-04-19 09:17:16.652807 [(12)]: PID seen - type = Video
    37. 2010-04-19 09:17:16.652807 [(12)]: audioVideoEventHandler Video
    I'm investigating if it's signal problem, (because it's not happening with absolutely any DVB-t channel) but any of my DVB-t cards reports 100% quality, and if I do an analisys of a DVB-t ts stream using other tools (TsReader standalone app, TransEdit Analyze option (DVBViewer scanning app)), I see no missing packets...

    Does this message:

    19-04-2010 09:17:16.662 [1304]Unexpected LiveTV PAT change due to provider, update m_ReqPatVersion to new PAT version : 1

    ...means anything to you? Can I still think is a signal problem anyway?

    Last, but not least, this started happening after installing 1.1.0 RC2 (no problems with same hard/soft, and MP 1.0.2).

    If you need more in deep logs, please tell me... but I didn't see any significant info in other logfiles.

    WAF Factor is pushing hard me... :p Any clue is very much appreciated!!! Definetly, I don't want to roll back to 1.0.2, as I see many great improvements within other areas with 1.1.0 RC2... but LiveTV is not usable this way... :(

    Thank you very much. I'll post any other clue I can see, as I continue doing different tests.

    bye!
     
  2. Google AdSense Guest Advertisement



    to hide all adverts.
  3. tourettes
    • Team MediaPortal

    tourettes Retired Team Member

    Joined:
    January 7, 2005
    Messages:
    17,301
    Likes Received:
    4,595
    Ratings:
    +4,810 / 3
    Re: Random stuttering in LiveTV ("Unexpected LiveTV PAT change" log)

    Please provide a sample TS recording that can be used to reproduce the issue.
     
  4. peque
    • Premium Supporter

    peque Moderator - Spanish Forums

    Joined:
    August 4, 2007
    Messages:
    853
    Likes Received:
    88
    Ratings:
    +111 / 1
    Home Country:
    Spain Spain
    Show System Specs
    Re: Random stuttering in LiveTV ("Unexpected LiveTV PAT change" log)

    Ok! In 30 minutes you'll have it.

    Jesus! I can't see this log entries in tsreader.log while recording and at the same time watching livetv... ¿? Let me some more minutes... ¿?

    Finally I could record one glitch... Problem is that .ts is 342 Mb... I'll try to provide you this .ts asap. I'll try uploading it at home, and if no success, I'll do it this afternoon from the office (great bandwith here).

    tsreader.log for the recorded glitch:

    Code (Text):
    1. 19-04-2010 10:12:02.109 [157c]OnNewChannel pat version:10->11
    2. 19-04-2010 10:12:02.109 [157c]demux:flushing
    3. 19-04-2010 10:12:02.109 [157c]demux:set hold audio:1
    4. 19-04-2010 10:12:02.109 [157c]demux:set hold video:1
    5. 19-04-2010 10:12:02.110 [157c]demux:set hold subtitle:1
    6. 19-04-2010 10:12:02.110 [157c]demux:flush audio
    7. 19-04-2010 10:12:02.110 [157c]demux:flush video
    8. 19-04-2010 10:12:02.110 [157c]demux:flush subtitle
    9. 19-04-2010 10:12:02.110 [157c]demux:set hold audio:0
    10. 19-04-2010 10:12:02.111 [157c]demux:set hold video:0
    11. 19-04-2010 10:12:02.111 [157c]demux:set hold subtitle:0
    12. 19-04-2010 10:12:02.111 [157c]New channel found (PAT/PMT/SDT changed)
    13. 19-04-2010 10:12:02.111 [157c] pcr      pid:   30
    14. 19-04-2010 10:12:02.111 [157c] pmt      pid:   20
    15. 19-04-2010 10:12:02.111 [157c] video    pid:   30 type: MPEG2
    16. 19-04-2010 10:12:02.112 [157c] audio    pid:   40 language: spa type: MPEG2 - audio
    17. 19-04-2010 10:12:02.112 [157c] audio    pid:   41 language: mul type: MPEG2 - audio
    18. 19-04-2010 10:12:02.112 [157c]Setting initial audio index to : 0
    19. 19-04-2010 10:12:02.112 [157c]OnRequestAudioChange()
    20. 19-04-2010 10:12:02.112 [157c]demux:Wait for Audio stream selection :1
    21. 19-04-2010 10:12:02.112 [157c]New Audio 4
    22. 19-04-2010 10:12:02.115 [157c]  MPEG I-FRAME found 3319.711000
    23. 19-04-2010 10:12:02.115 [157c]  MPEG First '0' frame found. 3319.631000
    24. 19-04-2010 10:12:02.131 [147c]SetAudioStream : 0
    25. 19-04-2010 10:12:02.131 [147c]Old Audio 4, New Audio 4
    26. 19-04-2010 10:12:02.131 [147c]demux:Wait for Audio stream selection :0
    27. 19-04-2010 10:12:02.141 [157c]vid:set discontinuity
    28. 19-04-2010 10:12:02.196 [430]aud:set discontinuity
    29. 19-04-2010 10:12:40.191 [157c]OnNewChannel pat version:11->12
    30. 19-04-2010 10:12:40.191 [157c]demux:flushing
    31. 19-04-2010 10:12:40.191 [157c]demux:set hold audio:1
    32. 19-04-2010 10:12:40.191 [157c]demux:set hold video:1
    33. 19-04-2010 10:12:40.193 [157c]demux:set hold subtitle:1
    34. 19-04-2010 10:12:40.193 [157c]demux:flush audio
    35. 19-04-2010 10:12:40.193 [157c]demux:flush video
    36. 19-04-2010 10:12:40.193 [157c]demux:flush subtitle
    37. 19-04-2010 10:12:40.193 [157c]demux:set hold audio:0
    38. 19-04-2010 10:12:40.193 [157c]demux:set hold video:0
    39. 19-04-2010 10:12:40.194 [157c]demux:set hold subtitle:0
    40. 19-04-2010 10:12:40.194 [157c]New channel found (PAT/PMT/SDT changed)
    41. 19-04-2010 10:12:40.194 [157c] pcr      pid:   30
    42. 19-04-2010 10:12:40.194 [157c] pmt      pid:   20
    43. 19-04-2010 10:12:40.194 [157c] video    pid:   30 type: MPEG2
    44. 19-04-2010 10:12:40.194 [157c] audio    pid:   40 language: spa type: MPEG2 - audio
    45. 19-04-2010 10:12:40.194 [157c] audio    pid:   41 language: mul type: MPEG2 - audio
    46. 19-04-2010 10:12:40.195 [157c]Setting initial audio index to : 0
    47. 19-04-2010 10:12:40.195 [157c]OnRequestAudioChange()
    48. 19-04-2010 10:12:40.195 [157c]demux:Wait for Audio stream selection :1
    49. 19-04-2010 10:12:40.195 [157c]New Audio 4
    50. 19-04-2010 10:12:40.197 [157c]  MPEG I-FRAME found 3358.498000
    51. 19-04-2010 10:12:40.198 [157c]  MPEG First '0' frame found. 3358.418000
    52. 19-04-2010 10:12:40.206 [147c]SetAudioStream : 0
    53. 19-04-2010 10:12:40.206 [147c]Old Audio 4, New Audio 4
    54. 19-04-2010 10:12:40.206 [147c]demux:Wait for Audio stream selection :0
    55. 19-04-2010 10:12:40.219 [157c]vid:set discontinuity
    56. 19-04-2010 10:12:40.297 [430]aud:set discontinuity
    It seems that when recording no "Unexpected LiveTV PAT change due to provider" message is shown...

    Thank you.
     
  5. peque
    • Premium Supporter

    peque Moderator - Spanish Forums

    Joined:
    August 4, 2007
    Messages:
    853
    Likes Received:
    88
    Ratings:
    +111 / 1
    Home Country:
    Spain Spain
    Show System Specs
    Re: Random stuttering in LiveTV ("Unexpected LiveTV PAT change" log)

    Ok. I've got the sample .ts uploaded:

    MEGAUPLOAD - The leading online storage and file delivery service
    MEGAUPLOAD - The leading online storage and file delivery service
    MEGAUPLOAD - The leading online storage and file delivery service
    MEGAUPLOAD - The leading online storage and file delivery service

    Also two more tsreader logs attached:

    - TsReader-2010-04-19_livetv.rar: Two hours of livetv. As you can see, there's plenty of this "changes of PAT number".
    - TsReader-2010-04-19_recordedsample.rar: TsReader.log after play the sample recorded .ts inside MP (may be this way you don't need to download entire .ts sample. Sorry it's a bit heavy). In this second log, you can see "continuity errors", typically due to signal problem, but in livetv I can't see this messages in the log (as you can see in first log).

    Thank you so much for your support.
     

    Attached Files:

  6. tourettes
    • Team MediaPortal

    tourettes Retired Team Member

    Joined:
    January 7, 2005
    Messages:
    17,301
    Likes Received:
    4,595
    Ratings:
    +4,810 / 3
    Re: Random stuttering in LiveTV ("Unexpected LiveTV PAT change" log)

    Hopefully Ambass has some free time (I know he's busy) to look at that sample.
     
  7. peque
    • Premium Supporter

    peque Moderator - Spanish Forums

    Joined:
    August 4, 2007
    Messages:
    853
    Likes Received:
    88
    Ratings:
    +111 / 1
    Home Country:
    Spain Spain
    Show System Specs
    Re: Random stuttering in LiveTV ("Unexpected LiveTV PAT change" log)

    Thank you...

    In the mean time, I was thinking of reverting back to 1.0.2. I just have MP to watch TV (I don't use built in TV DVB-t receiver), and as you can see, this errors make some channels unwatchable... :( I'll wait 24h and see if any of you can help me, and keep on trying to get better signal (change cables, etc...).

    Do you think it could be signal related seeing the logs? It's .ts related (all channels in same frequency have same behaviour). Not all frequencies (multiplex here in Spain) have this problem... at the moment, two of them... but they are not close in frequency.
     
  8. peque
    • Premium Supporter

    peque Moderator - Spanish Forums

    Joined:
    August 4, 2007
    Messages:
    853
    Likes Received:
    88
    Ratings:
    +111 / 1
    Home Country:
    Spain Spain
    Show System Specs
    Re: Random stuttering in LiveTV ("Unexpected LiveTV PAT change" log)

    Some more info. Here in Spain (Barcelona), we receive DVB-t in 10 different multiplex/UHF frequencies, as you can see here:

    CANALES TDT BARCELONA - tv cadenas television digital terrestre cataluña

    Well... I've tried every channel in all freq. and I can see this unexpected messages about PAT Update only in 3 of them: 69, 68, 64.

    Also, tomorrow I'll receive a new brand Technisat Airstar2 DVB-t PCI card, which is the one that gave me best results in terms of sensibity (till my HTPC got burned, MainBoard and all PCIs inserted). Once I've installed it I'll test again this freq. and see if it's also happening.

    tourettes... do you think I can be a signal related problem, provided we don't see any continuity errors while in livetv?

    Thanks!
     
  9. peque
    • Premium Supporter

    peque Moderator - Spanish Forums

    Joined:
    August 4, 2007
    Messages:
    853
    Likes Received:
    88
    Ratings:
    +111 / 1
    Home Country:
    Spain Spain
    Show System Specs
    Re: Random stuttering in LiveTV ("Unexpected LiveTV PAT change" log)

    I've just received a new Technisat Airstar 2. I've installed on my system, with BDA driver... same log files, same glitch every few minutes... :( So I can confirm it's NOT hardware related, as I've tried with three different PCI DVB-t cards installed on my system.

    I've also monitor signal strengh with Airstar 2, and all multiplex with this problem (three) are 99%-100%... so I must discard any signal problem.

    Last test will be to go back to 1.0.2 (I've got old directories and MPTVDB)... Hope it's so simple as rename dirs... I'll post results...

    tourettes... are you there? :) (as post has been moved, maybe you've lost contact... :(

    bye!
     
  10. peque
    • Premium Supporter

    peque Moderator - Spanish Forums

    Joined:
    August 4, 2007
    Messages:
    853
    Likes Received:
    88
    Ratings:
    +111 / 1
    Home Country:
    Spain Spain
    Show System Specs
    Re: Random stuttering in LiveTV ("Unexpected LiveTV PAT change" log)

    Last but no least... I've reverted back to 1.0.2... half an hour watching TV with no glitch, and no strange tsreader.log messages (attached, but no significant info)... :(

    So, till we find what's going on, I must stay with 1.0.2... :/

    I can record and upload again a sample ts with 1.0.2 if it can help in any way... Just tell me.

    bye!
     

    Attached Files:

    • TsReader.rar
      File size:
      30.6 KB
      Uploaded:
      April 20, 2010
      Views:
      96
  11. kkendall

    kkendall Portal Pro

    Joined:
    April 24, 2007
    Messages:
    864
    Likes Received:
    16
    Gender:
    Male
    Occupation:
    Senior Marketing & Communication
    Location:
    Gouda
    Ratings:
    +16 / 0
    Home Country:
    Netherlands Netherlands
    Show System Specs
    Re: Random stuttering in LiveTV ("Unexpected LiveTV PAT change" log)

    I also get glitches and incidental stuttering now. But I'm currently in no position to post logs, sorry. I'm posting just to let you know I experience glitches too that weren't there before. I can at least say it's not a signal problem (that's good) or DVB-T problem (because I have a DVB-C card). Friends of mine, to which I recommended MP to, are also having this issue now.
    Maybe Tourette is not responding anymore because you use emoticons. I've noticed he's quite sensitive about that (please don't get mad Tourette for mentioning this, just trying to help).
     
Loading...

Users Viewing Thread (Users: 0, Guests: 0)

  1. This site uses cookies to help personalise content, tailor your experience and to keep you logged in if you register.
    By continuing to use this site, you are consenting to our use of cookies.
    Dismiss Notice
  • About The Project

    The vision of the MediaPortal project is to create a free open source media centre application, which supports all advanced media centre functions, and is accessible to all Windows users.

    In reaching this goal we are working every day to make sure our software is one of the best.

             

  • Support MediaPortal!

    The team works very hard to make sure the community is running the best HTPC-software. We give away MediaPortal for free but hosting and software is not for us.

    Care to support our work with a few bucks? We'd really appreciate it!