efficient approach