added canMessageRecipient to the constraints, reordered them a bit