more efficient implementation