Refactor BL, add list view