cleaned up for B Functionality