further api improvements