first iteration of new interface