how does hibernation work