bouncing still isn't perfect, but it's a lot better