refactor with Franco