add length and validation