split execute into few methods and use method to pass them as blocks