Refactoring and merge and timeout, and interface