B2. partly implement B2 as an example