add loader and remove unused promise