cleanup after each* reimplementation