shouldn't the other `initWithRequest` delegate to this?