Refactory & Restructure & Recoding new