more api improvements