BLL refactor