clean up and final improvements
some more improvements
clean up and final improvements