Refactor to make awesome