not use htonl