add sleep and wake