Added hibernate, standby, and cleaned up a little (less readable I find but less duplicate code)