Add back wakeup checker. Still need refactor