added rest of B