Hard solved, refactor and break needed