start of API learning