using Traits