BLL Refactor