improvements to interface