Gave up on reinventing the wheel.