use new protocol