Began update to more efficient implementation