Refactory&Cleanup