local vs external vs api