better interface design