responsible for observable manipulations