+1 for testing both the no-protocol case and the protocol case :D