New solution, works on mobile too