cleanup and commenting