Abstract manipulations