changed typedef's to usings