some changes
trait