updated with walkthrough on BEM