trying to design better interface