added explicit call convention to API