added transform functions for composition and assert