switched to traits