patch class renamed to avoid conflicts