rewrite data-operations