api improvements