various improvements to interface