added - uses byte buffer