BLL refactor to basic