general improvements to the interface