need tests for corner cases: null values, empty strings.