completely new interface (thanks @robrich) - 1.0)