add base trait