forward transformation