Interfacerework

I didn't like the old interface which requires you to instantiate meaningless objects. Functionality supposed to be  pretty much left intact.