add base with tests