use calling convetions in functions