updated transform functions