recap + cleanup