More efficient algorithm