better transformation class