checked the some reusable code and later on will clea	n up