set a default timeout; collapse some of the shared behaviors