create new response when necessary