add loader, complete api service