cleanup, and improvement
cleanup