uses traits