Add percentage and use promises