Hibernatable

pulling hibernatable branch