nit: weird to use signed bytes.