Done Some Refactoring, Have a crash to fix