Вот тема. Рекомендую прочесть и определить для себя лучшую в обсуждении.