api is more clear now