The above video goes away if you are a member and logged in, so log in now!




 
Would you like to get all the newest Gaming News from
QJ.NET in your email each day?




Want to learn more about the team who brings you the QJ news?

Read about them now!

 


Results 1 to 24 of 24

[RELEASE] Hold+ v4.0 - Ultimate Music Player Companion

This is a discussion on [RELEASE] Hold+ v4.0 - Ultimate Music Player Companion within the PSP Development Forum forums, part of the PSP Development, Hacks, and Homebrew category; Fix for people with malfunctioning Hold switch. Hold+ v4.0 Tested on 5.50GEN-B Download: Torch's Release Site Hold+ is the ultimate ...

  
  1. #1
    Developer
    Points: 14,963, Level: 79
    Level completed: 23%, Points required for next Level: 387
    Overall activity: 0%

    Join Date
    Jun 2007
    Posts
    2,475
    QJ Pts
    14,963
    Level
    79
    Downloads
    0
    Uploads
    0

    Talking [RELEASE] Hold+ v4.0 - Ultimate Music Player Companion

    Fix for people with malfunctioning Hold switch.

    Hold+ v4.0

    Tested on 5.50GEN-B

    Download: Torch's Release Site

    Hold+ is the ultimate companion to the PSP's music player. It adds useful features and gives you TWICE the battery life when used properly.

    It does the following when the Hold switch is enabled:
    * Switches off the LCD screen and backlight.
    * Underclocks the CPU to 60MHz
    * Fixes malfunctioning Hold switch
    * The original screen brightness and clock speed are restored only when the Hold switch is released fully to the power off position
    * Prevents the PSP from going into suspend mode if you accidently push the power switch too far when turning off Hold mode.
    * Turns off LEDs in hold mode.
    * While in hold mode, allows the use of Left, Right, LTrigger, RTrigger, Volume and Start buttons, if you hold the Select button first. Useful to skip songs, pause etc.

    Additional Features:
    * Enables the 5th brightness level on PSP Slim.
    * Increases the vertical scrolling speed of Music player by around 50% (scroll 300 songs in 10 seconds).

    Usage:
    Turn on the Hold switch to automatically disable the display and underclock the CPU. Release the Hold switch fully to the power off position to return the CPU to normal speed and enable the display.

    If you push the ANALOG UP button when turning on the Hold switch, it will only lock the keypad like normal hold mode. The display and CPU speed will not be changed, so that you can watch videos etc. with the keypad locked. Release the Hold switch fully to the power off position to unlock the keypad.

    While the PSP is in hold mode, if you first hold down the Select button, you can use the following buttons: Left, Right, LTrigger, RTrigger, Vol+, Vol-, Start.

    Installation:
    You can install it in the seplugins folder, and make an entry in VSH.txt. Thus it will be active in the XMB. Its also possible to use it in games by adding it to GAME.txt, but some games may crash etc., if the CPU is underclocked to such a low value.

    Optionally, its also possible to install it in your PSP's flash0 so that it will work without a Memory Stick. For this you can use FreePlay's "NewBTCFNedit" and enable it for VSH mode in the all the PSPBT?NF.bin files. Add it before vshmain.prx.

    Advanced:
    If you want to change the clock speed to your own values, you can use a hex editor to change them. The offsets in the file for v4.0 are
    0x1154 - CPU
    0x1158 - Bus (Should be half the CPU speed or less)

    The values should be entered in hexadecimal. The default value for CPU is 3C (60 MHz in decimal) and the default value for Bus is 1E (30 MHz in decimal).

    Note that simply using any arbitrary value will not work. You will have to test and see which values for CPU and Bus speed work.

    Credits:
    Thanks to adrahil for helping with preventing the suspend mode.

    Thanks to Booster for the SysCon Hook sample, based on which Hold+ v3.0 was updated.

    Quote Originally Posted by Changelog
    Changelog v4.0
    ----------------------------------
    This is a fix for people with broken Hold switches that keep randomly switching on and off while in Hold mode.

    Now when the Hold switch is enabled, the PSP remains in hold mode permanently until the switch is fully pushed to the power off position. This will prevent a malfunctioning Hold switch from randomly interfering.

    Removed Display Off mode (hold ANALOG UP while releasing Hold) since holding Select is sufficient for most users.


    Changelog v3.8
    ----------------------------------
    5th brightness level now works correctly on PSP-3000.

    Changelog v3.7
    ----------------------------------
    Optimized Code.
    Proper fixed to prevent any chance of accidental suspend when coming out of hold mode due to pushing switch too far.
    LEDs do not blink every 30 seconds anymore.

    Changelog v3.6
    ----------------------------------
    Incorporated Fast Scroll Music functionality into Hold+. Increases the vertical scrolling speed of Music player by around 50% (scroll 300 songs in 10 seconds).

    Changelog v3.51
    ----------------------------------
    5th brightness level is now restricted to PSP Slim, because its ineffective on Phat.

    Changelog v3.5
    ----------------------------------
    Enabled 5th brightness level. (If the screen dims due to being idle, it returns to the 4th brightness level. You'll need to press the Display button again to go back to the 5th level.)

    Proper fix for faulty Hold switch.

    Changelog v3.42
    ----------------------------------
    Fixed a bug in the faulty Hold switch detection method. It should now be very resistant to problems such as CPU remaining underclocked due to faulty Hold switch.

    Changelog v3.41
    ----------------------------------
    Improved faulty Hold switch protection, as there were still some chances of a faulty Hold switch causing problems.

    Changelog v3.4
    ----------------------------------
    Fixed a problem caused by a faulty Hold switch in some PSPs. This made the CPU remain underclocked even after turning off the Hold switch.

    The problem is the Hold switch doesn't consistently return a pressed state. It sometimes rapidly fluctuates between an Off and On signal. If this fluctuation occurs within one iteration of the main program loop, it causes problems. Its not humanly possible to toggle the Hold switch so fast, but a loose connection can :P

    Changelog v3.3
    ----------------------------------
    Fixed a bug where if the battery was low, and the Power LED was blinking, and you turned off the Hold switch exactly at the moment before the Power LED blinked, the problem of the dissappearing battery icon would occur.

    The method of prevent accidental suspend has been changed back to adrahil's SysEvent method, instead of Booster's method which was used from v3.0, which was causing various problems as it worked by corrupting SysCon packets that contained the Power Switch On signal.

    Changelog v3.2
    ----------------------------------
    Fixed a bug where after you exit a Photo or the Browser, the battery icon would keep disappearing and reappearing.

    Fixed a bug where each time you exit a Photo or the Browser, the first time you turn on Hold after that it would only go to Normal Hold mode.

    Changelog v3.1
    ----------------------------------
    Reduced CPU usage by delaying longer in main loop. Since v3.0 the main loop doesn't do much so it needn't run as fast as before. This *should* alleviate problems with the battery icon.

    Now its not possible to accidently press 'other' buttons in hold mode while holding Select button. Ex: If you are holding Select + VolUp to increase volume, and you accidently press X, the X button will not have effect.

    Changelog v3.0
    ----------------------------------
    Completely overhauled the plugin to work using only the SysCon functions based on Booster's example.

    The prevention of accidental suspend was changed to Booster's method as that is more efficient.

    In Display Off mode, pressing the Screen button to return to normal no longer causes the firmware's internal brightness variable to become one step higher than the original screen brightness.

    Added the ability to use some of the buttons while in hold mode, by holding the Select button first.

    Changelog v2.71
    ----------------------------------
    Fixed a bug where after the first time you resume from suspend the Analog Up + Hold Switch Off would not work.

    Changelog v2.7
    ----------------------------------
    LEDs are turned off when in Hold mode or Display Off mode, but they are flashed every 30 seconds so that the PSP is not mistaken to be powered off.

    Fixed a bug introduced in v2.64 where the PSP wouldn't automatically suspend after being idle while in Hold mode or Display Off mode.

    Changelog v2.64
    ----------------------------------
    While in Display Off mode, you can now also turn on the display by pushing the power switch to the suspend position.

    Pressing the Screen button also works but I recommend using the power switch instead, because when you press the Screen button, the firmware sets its internal brightness variable to the next level, even though the screen is functioning at the original brightness. Thus if you leave it idle after turning on the display using the Screen button, and the screen dims due to the PSP being idle, when you press a button it will jump to the next brightness level.

    Changelog v2.63
    ----------------------------------
    Fixed a bug where turning off the Hold switch very fast (less than 100ms) to the Power position would cause the PSP to enter standby.

    Changelog v2.62
    ----------------------------------
    Fixed a bug where the Analog Up features would not respond after opening the Photo menu in the XMB. After you exit the Photo menu, just toggle the Hold switch once and the Analog Up features should work after that.

    Changelog v2.61
    ----------------------------------
    Fixed a bug that was introduced in v2.6 that caused the control input buffer to completely fill up, hence causing the Analog Up features not to work in Hold mode, when the plugin was used for an extended period of time.

    Changelog v2.6
    ----------------------------------
    Modified the code a bit so that it should work better in GAME mode, although I don't really support using it in GAME mode.

    Changelog v2.5
    ----------------------------------
    Added feature to allow normal Hold mode where only the keypad will be locked without changing the display or CPU speed. Hold ANALOG UP when turning on Hold to do this.
    The button for operating in Display Off mode has also been changed to ANALOG UP while turning off Hold.

    Changelog v2.4
    ----------------------------------
    Bugfix: When the PSP was left in Hold mode for longer than the idle timeout, and then you hold UP and turn off Hold, the screen used to turn on even though you were holding UP.

    Changelog v2.3
    ----------------------------------
    Bugfix: When the PSP was operated in display off mode (after holding UP and turning off Hold), if left idle for the duration of the LCD idle timeout, then after that pressing any key would enable the display. It was supposed to enable the display only on pressing the Screen key.

    Changelog v2.2
    ----------------------------------
    Added feature to allow operation of PSP with display turned off.

    Changelog v2.1
    ----------------------------------
    Fixed a bug where if the Hold switch was turned off and quickly turned on again, the PSP would not suspend after being left idle for a few minutes (the idle timeout didn't work).

    Changelog v2.0
    ----------------------------------
    Added feature to prevent PSP from going into suspend mode if the power button is pushed too far when turning off Hold mode.
    Last edited by Torch; 05-04-2011 at 04:00 AM.

  2. #2
    QJ Gamer Green
    Points: 3,596, Level: 37
    Level completed: 64%, Points required for next Level: 54
    Overall activity: 0%

    Join Date
    May 2008
    Posts
    291
    QJ Pts
    3,596
    Level
    37
    Downloads
    0
    Uploads
    0

    Default

    Thank You Torch. Updating now.
    Currently open for Testing. PM me. QJ letter limit is retarded.

  3. #3
    QJ Gamer Blue
    Points: 1,872, Level: 25
    Level completed: 72%, Points required for next Level: 28
    Overall activity: 0%

    Join Date
    Jul 2009
    Posts
    40
    QJ Pts
    1,872
    Level
    25
    My Mood
    Asleep
    Downloads
    1
    Uploads
    0

    Thumbs up

    thanks torch :dj:

  4. #4
    "InfinitiProject"
    Points: 5,310, Level: 46
    Level completed: 80%, Points required for next Level: 40
    Overall activity: 0%

    Join Date
    Dec 2005
    Location
    East Coast, USA
    Posts
    341
    QJ Pts
    5,310
    Level
    46
    Downloads
    0
    Uploads
    0

    Default

    Sweet! Replacing 3.8 now, even though my hold switch works fine :)
    PSP Go (White)/FW 6.20/HBL Rev91/4GB SanDisk M2

  5. #5
    QJ Gamer Green
    Points: 2,682, Level: 31
    Level completed: 55%, Points required for next Level: 68
    Overall activity: 0%

    Join Date
    Dec 2008
    Location
    London
    Posts
    94
    QJ Pts
    2,682
    Level
    31
    Downloads
    6
    Uploads
    0

    Default

    I love this plugin

    Thanks

  6. #6
    QJ Gamer Green
    Points: 3,411, Level: 36
    Level completed: 41%, Points required for next Level: 89
    Overall activity: 63.0%

    Join Date
    Jan 2009
    Posts
    362
    QJ Pts
    3,411
    Level
    36
    My Mood
    Psychedelic
    Downloads
    15
    Uploads
    0

    Default

    thanks for the update!

  7. #7
    Developer
    Points: 9,875, Level: 66
    Level completed: 57%, Points required for next Level: 175
    Overall activity: 0%
    Achievements:
    First 1000 Experience Points

    Join Date
    Nov 2008
    Posts
    71
    QJ Pts
    9,875
    Level
    66
    Downloads
    0
    Uploads
    0

    Default

    this is my favorite music plugin. right on Torch. You're doing a great job man.

  8. #8
    QJ Gamer Green
    Points: 3,481, Level: 36
    Level completed: 88%, Points required for next Level: 19
    Overall activity: 0%

    Join Date
    Mar 2008
    Posts
    173
    QJ Pts
    3,481
    Level
    36
    My Mood
    Aggressive
    Downloads
    0
    Uploads
    0

    Default

    Thanks man, this is one of my top/favourtie 5 plugins.

  9. #9
    Gone. May be back
    Points: 5,135, Level: 45
    Level completed: 93%, Points required for next Level: 15
    Overall activity: 0%

    Join Date
    Jun 2009
    Location
    N/A
    Posts
    651
    QJ Pts
    5,135
    Level
    45
    Downloads
    1
    Uploads
    0

    Default

    thx torch. another great update to an already awesome plugin.:Punk:

  10. #10
    Speed for life
    Points: 121,080, Level: 100
    Level completed: 0%, Points required for next Level: 0
    Overall activity: 0%
    Awards:
    Most Popular

    Join Date
    Jan 2009
    Location
    Greece,Limnos
    Posts
    7,863
    QJ Pts
    121,080
    Level
    100
    My Mood
    Relaxed
    Downloads
    12
    Uploads
    2

    Default

    Thanks man.

  11. #11
    Points: 1,521, Level: 22
    Level completed: 21%, Points required for next Level: 79
    Overall activity: 0%
    Achievements:
    First 1000 Experience Points

    Join Date
    Oct 2009
    Location
    Sierra Vista
    Posts
    1
    QJ Pts
    1,521
    Level
    22
    Downloads
    0
    Uploads
    0

    Default

    This is an amazing little plugin. I listen to a lot of ebooks and it really saves on the battery. Would there be any way to implement a bookmark feature for audio books? That would be really handy and save a lot of fast forwarding through an hour worth of audio to get to my last listening point?

  12. #12
    QJ Gamer Green
    Points: 3,271, Level: 35
    Level completed: 48%, Points required for next Level: 79
    Overall activity: 0%

    Join Date
    Aug 2009
    Location
    US
    Posts
    18
    QJ Pts
    3,271
    Level
    35
    My Mood
    Relaxed
    Downloads
    0
    Uploads
    0

    Default

    Awesome Torch, thanks for the update

  13. #13
    QJ Gamer Green
    Points: 2,645, Level: 31
    Level completed: 30%, Points required for next Level: 105
    Overall activity: 0%

    Join Date
    Mar 2008
    Posts
    15
    QJ Pts
    2,645
    Level
    31
    Downloads
    0
    Uploads
    0

    Default

    Great update, but I miss the "Display Off mode", which i use with Wificontroller, to use psp as a PC gamepad. Can you put this back on, or compile another version with this mode please ?

  14. #14
    Developer
    Points: 14,963, Level: 79
    Level completed: 23%, Points required for next Level: 387
    Overall activity: 0%

    Join Date
    Jun 2007
    Posts
    2,475
    QJ Pts
    14,963
    Level
    79
    Downloads
    0
    Uploads
    0

    Default

    Quote Originally Posted by fear_hardcore View Post
    Great update, but I miss the "Display Off mode", which i use with Wificontroller, to use psp as a PC gamepad. Can you put this back on, or compile another version with this mode please ?
    No, the amount of code was halved by removing Display Off mode and its related checks.

  15. #15
    QJ Gamer Green
    Points: 2,645, Level: 31
    Level completed: 30%, Points required for next Level: 105
    Overall activity: 0%

    Join Date
    Mar 2008
    Posts
    15
    QJ Pts
    2,645
    Level
    31
    Downloads
    0
    Uploads
    0

    Default thx

    Ok thx.

    Also, a f*/king bustard had posted nasty pics in your profile, I reported her, but nothing happens, try by yourself to remove them

  16. #16
    Developer
    Points: 14,963, Level: 79
    Level completed: 23%, Points required for next Level: 387
    Overall activity: 0%

    Join Date
    Jun 2007
    Posts
    2,475
    QJ Pts
    14,963
    Level
    79
    Downloads
    0
    Uploads
    0

    Default

    Quote Originally Posted by fear_hardcore View Post
    Ok thx.

    Also, a f*/king bustard had posted nasty pics in your profile, I reported her, but nothing happens, try by yourself to remove them
    They're in a lot of people's profiles. They can't be removed by us.

  17. #17
    QJ Gamer Green
    Points: 2,351, Level: 29
    Level completed: 34%, Points required for next Level: 99
    Overall activity: 0%

    Join Date
    Sep 2008
    Posts
    53
    QJ Pts
    2,351
    Level
    29
    Downloads
    0
    Uploads
    0

    Default

    Quote Originally Posted by Torch View Post
    They're in a lot of people's profiles. They can't be removed by us.
    Wow, those were some disturbing pictures D:
    Arrrrg Qj......

  18. #18
    Points: 3,033, Level: 33
    Level completed: 89%, Points required for next Level: 17
    Overall activity: 0%

    Join Date
    Sep 2007
    Posts
    6
    QJ Pts
    3,033
    Level
    33
    My Mood
    Hungover
    Downloads
    0
    Uploads
    0

    Unhappy problem with filer 6.4 (and previous)

    hi torch,

    i love this plugin, but ran into a problem with filer, don't know if it's the plugin or filer?

    i have a slim with 5.55GEN-B2 CFW.
    filer opens fine, but it's as if the start button is being pressed continuously.
    filer keeps cycling through the different locations: ms0, flash1, flash2, ram disk, ms0…

    turn of the hold plugin and all is fine.

    and many thanks for the great work

  19. #19
    Speed for life
    Points: 121,080, Level: 100
    Level completed: 0%, Points required for next Level: 0
    Overall activity: 0%
    Awards:
    Most Popular

    Join Date
    Jan 2009
    Location
    Greece,Limnos
    Posts
    7,863
    QJ Pts
    121,080
    Level
    100
    My Mood
    Relaxed
    Downloads
    12
    Uploads
    2

    Default

    Well i haven't any problem with it when i run the filer.
    I have a phat psp with 5.00 m33-6.
    [SIZE="1"][COLOR=limegreen]Phat PSP 1004 TA-079 v3 + Sony 16GB Mark II + tiltFX with 5.00 m33-6 + 1.50 kernel +Prometheus-4 patch + 5.01 patch[/COLOR]
    [COLOR=DarkOrange]Phat PS3 CECHG04 40GB (750GB) with 3.55.2 PRIVACY[/COLOR]
    [COLOR=Red]Slim PS2 SCPH-75004 + Free McBoot 1.8b + uLaunchELF v4.42 + ESR beta r9b[/COLOR]
    [COLOR=teal]iPhone 3G 8GB jailbroken with iOS 4.2.1 with OpeniBoot 0.2 and iDroid Pepparkaka 11.04 (Android 2.3.3)[/COLOR]
    [COLOR=DarkOrchid]Fujitsu Simens Amilo PA1510 + 2.5GB Ram + AMD Sempron 3400+ 1.8GHz + Windows XP/Ubuntu 9.10[/COLOR][/SIZE]

    [URL="http://forums.qj.net/guides-psp-hacks-homebrew-emulators/159330-guide-how-patch-5-55-6-00-6-10-6-20-6-30-6-31-6-35-6-36-games-all-cfw.html"]Patch the 5.55/6.00/6.10/6.20/6.30/6.31/6.35/6.36 games to work with all FWs[/URL]
    [URL="http://forums.qj.net/psp-general/170056-cwcheat-databases.html"]My CWCheat databases[/URL]
    [URL="http://forums.qj.net/guides-psp-hacks-homebrew-emulators/156916-guide-ultimate-psp-game-addons-guide.html"]PSP Game Addons[/URL]
    [URL="http://forums.qj.net/blogs/nickxab/"]My qj blog[/URL]
    [URL="http://forums.qj.net/blogs/nickxab/17-cydia-sources.html"]Cydia Sources[/URL]

    [IMG]http://img32.imageshack.us/img32/6181/58350347.png[/IMG]
    [IMG]http://img156.imageshack.us/img156/5489/consoles.gif[/IMG]
    [IMG]http://img843.imageshack.us/img843/2356/kyoshoracer.jpg[/IMG]
    [IMG]http://img80.imageshack.us/img80/8681/userbar794826.gif[/IMG]
    [IMG]http://img517.imageshack.us/img517/2861/userbar781427.gif[/IMG]
    [IMG]http://img256.imageshack.us/img256/3394/userbar781454.gif[/IMG]
    [IMG]http://img231.imageshack.us/img231/1889/userbar781443.gif[/IMG]
    [IMG]http://www.userbars.com/i/542861.gif[/IMG]

  20. #20
    QJ Gamer Blue
    Points: 1,614, Level: 23
    Level completed: 14%, Points required for next Level: 86
    Overall activity: 0%
    Achievements:
    First 1000 Experience Points

    Join Date
    Aug 2009
    Posts
    4
    QJ Pts
    1,614
    Level
    23
    Downloads
    0
    Uploads
    0

    Default

    This plugin is awesome! Is there a way to hex edit the CPU clock higher than 255? Once I have to change the "3C", I don't know how to go past "FF". Do I have to overwrite "00 3C" or "3C 00" to "01 4D"?

    Better yet, is there a way to just disable the under/overclocking? This plugin could be just perfect for GameMusicGear MX, a great homebrew music player that handles many videogames music files, like SNES' SPC, Genesis GYM and Playstation PSF file. Mp3, flac, aac, etc too, of course. The thing is, for each music format, the app change the CPU/BUS clock accordingly, for battery saving. For example, when playing SNES music, it underclocks to about 100mhz, and then it plays a Playstation music file, overclocking to 333mhz.
    So, preventing Hold+ from changing the cpu clock would be the best option, rather than setting it to just overclock to 333mhz, or the player would not be able adjust the cpu clock by itself. Could anyone lead the way? Thanks for the awesome plugin!

    EDIT: Lol, just tried changing the "00 3C" to "01 4D" and (dunno why) it worked exactly how I wanted!! Hold+ had no control over the cpu clock, the player had the control.
    Last edited by NeoZeroo; 10-27-2009 at 04:53 PM.

  21. #21
    Points: 1,377, Level: 20
    Level completed: 77%, Points required for next Level: 23
    Overall activity: 0%
    Achievements:
    First 1000 Experience Points

    Join Date
    Dec 2009
    Location
    Singapore
    Posts
    3
    QJ Pts
    1,377
    Level
    20
    Downloads
    0
    Uploads
    0

    Default

    Hey Torch, love your Hold+ plugin.
    But after I updated to 5.03 GEN-C it doesnt return to normal mode properly after being in suspend mode.
    Think you could release a new version that patches this issue? Thanks!

  22. #22
    chmod 777
    Points: 6,522, Level: 52
    Level completed: 86%, Points required for next Level: 28
    Overall activity: 99.0%

    Join Date
    Oct 2009
    Location
    /home
    Posts
    346
    QJ Pts
    6,522
    Level
    52
    My Mood
    Cynical
    Downloads
    0
    Uploads
    0

    Default

    zafz I've had this same problem. I reverted to hold+ v3.8 and have to be careful not to push the switch up all the way. A patch would be nice, but this will work for now.

  23. #23
    QJ Gamer Blue
    Points: 1,507, Level: 22
    Level completed: 7%, Points required for next Level: 93
    Overall activity: 0%
    Achievements:
    First 1000 Experience Points

    Join Date
    Dec 2009
    Location
    London
    Posts
    28
    QJ Pts
    1,507
    Level
    22
    My Mood
    Sleepy
    Downloads
    1
    Uploads
    0

    Default

    This is a must have for any CFW psp.

    Thanks Torch

  24. #24
    Developer
    Points: 14,963, Level: 79
    Level completed: 23%, Points required for next Level: 387
    Overall activity: 0%

    Join Date
    Jun 2007
    Posts
    2,475
    QJ Pts
    14,963
    Level
    79
    Downloads
    0
    Uploads
    0

    Default

    Links Fixed.


 

Tags for this Thread

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •  





All times are GMT -8. The time now is 01:52 PM.

Use of this Web site constitutes acceptance of the TERMS & CONDITIONS and PRIVACY POLICY
Copyright © 2013, Caputo Media, LLC. All Rights Reserved. Cluster C3.
Contact Us | Free Flash Games | Ad Blockers Suck! Why?