add app hold state

resolves #684