count chunks instead of bytes on interface to avoid .length calls