Almost perfect, just a small bug