refactoring search and add blog form with ViewModel. #280