substitution almost