Power saving: is this correct?

Hello,

I just would like to know if this is the correct way to proceed (order of things), and if it's the best I can do to save power on my Arduino Mega2560.

void sleep()
{
  Serial.println( "sleep" );
  Serial.flush();

  set_sleep_mode( SLEEP_MODE_IDLE );
  sleep_enable();

  // haven't tested this yet
  attachInterrupt( 4, DS3231_alarmInterrupt, FALLING );

  // disable all features but Serial0 and PWM8
  power_all_disable();
  power_usart0_enable();
  power_timer4_enable();

  sleep_mode();
  
  // arduino will resume here
  sleep_disable();
  power_all_enable();

  detachInterrupt( 4 );

  Serial.println( "resume" );
}

It seems to work OK ( but as said, I havent tested the DS3231 interrupt ) but it's the first time I use the power saving thing so I don't really know..

Thanks ;)