Some refactoring and stuffs.