refactored bCMS case study