add base interfaces