cross-platform clean up