Refactoring and breaking stuffs