new version with hair_length