sleep/suspend generic code + documentation