) has been upgraded by TheStreet Ratings from hold to buy. The company's strengths can be seen in multiple areas, such as its robust revenue growth, expanding profit margins, good cash flow from operations and solid stock price performance. We feel these strengths outweigh the fact that the company has had sub par growth in net income.