public cleanup