save 4 bytes per internal edge