reworking interface

simpler and more consistent interface in progress