First shot at protocol description, closes #16.