datalen -> size