optimization and clean up
clean up