Hello, Adam Theo here; i have built a Tk program to act as a alarm clock. it was a while ago that i created it, and was pretty sure it was working, but now that i go back to it, it is giving this error when i press the button to stop the alarm: Tk::Error: Can't locate object method "IsWidget" via package "Tk::After" (perhaps you forgot to load "Tk::After"?) at /usr/local/lib/perl5/site_perl/5.6.1/i586-linux/Tk.pm line 173. [\&main::beep_stop] Tk callback for .frame4.button Tk::__ANON__ at /usr/local/lib/perl5/site_perl/5.6.1/i586-linux/Tk.pm line 228 Tk::Button::butUp at /usr/local/lib/perl5/site_perl/5.6.1/i586-linux/Tk/Button.pm line 111 (command bound to event) here is the relevant code from the program. this is certainly not all the code, though: ### set off the beep alarm # recieve the alarm number to work with. # start the Tk alarm. # set the number's status as 'down' in the hash. # save hash, # sending '-1' to save only what is in hash now. sub beep_alarm { my($number) = @_; my($status); print("Starting alarm $number.\n"); $beep_repeat = $main_w->repeat($interval, sub {$f2->bell}); print("Bringing alarm $number status down.\n"); $config->{alarm}->[$number]->{status}->[0] = 'Down'; &alarm_refresh('-1'); } ### stop alarm $f5->Button( -text => 'Stop', -command => \&beep_stop )->pack(-expand => '1', -fill => 'x'); ### stop the beep alarm # stop the universal beep alarm, # but only if it is running. sub beep_stop { $beep_repeat->cancel() if Tk::Exists($beep_repeat); } any ideas pop out to anyone? thanks in advance. -- /\ Theoretic Solutions (www.Theoretic.com): //\\ 'Activism, Software, and Internet Services' //--\\ Personal Homepage (www.Theoretic.com/adamtheo/): ][ 'Personal history, analysis, and favorites' ][ Birthright Online (www.Birthright.net): 'Keeping the best role-playing game alive' Email & Jabber: Other: -Professional: [EMAIL PROTECTED] -AIM: AdamTheo2000 -General: [EMAIL PROTECTED] -ICQ: 3617307 -Personal: [EMAIL PROTECTED] -Phone: (850)8936047