implementations wakeup