required + B functionality

Updated B functionality which works for required too