manual gradient