added extern call