some documentation and lname length constraint