some changes && clean up