transactions & cleanup