switch to using yield return instead of list in byte extensions