added externs, some retried attempts