add: some implementations