veeeery close to shape operations