added A and B