Bank of America posts solid earnings, beats forecasts