proper api use