Refactory some thing