adds an improved interface