add length funciton