cleanup and additions