should be a syntactic transformation