use wake_up()