Refactor interface / add sleep