fixed bug with optional param handling for data points, caught by unit tests
unit tests for protocol objects