B functionality
Bonus functionality added