replaces + with extend where possible