added general constructions