REFACTORING: using bytelist instead of a linkedlist for a better performance.