Bank of America fined $150M over junk fees, fake accounts