cleanup and explanations