any special reason this was split into two externs?