includes validation for string arguments