some constructs & gluing